home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / DiskUtil / Crunch / XPK / DOCS / FEAL.DOC < prev    next >
Text File  |  1992-07-26  |  5KB  |  161 lines

  1.  
  2.                     FEAL
  3.             A Fast Encryprion ALgorithm
  4.                 Version 1.00
  5.             Copyright 1992 Christian von Roques
  6.                       
  7.                       
  8.                       
  9.                  License/Disclaimer
  10.                  ------------------
  11.  
  12.     This library may be freely distributed with the XPK compression package,
  13. as long as it is kept in its original, complete, and unmodified form.  It
  14. may not be distributed by itself or in a commercial package of any kind
  15. without my permission.
  16.  
  17.     This program is distributed in the hope that it will be useful, but
  18. WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  19. or FITNESS FOR A PARTICULAR PURPOSE.
  20.  
  21.     This program is at most as strong as FEAL itself.  So, we urge the user
  22. to use this program only after he has assured himself that FEAL is strong
  23. enough AND he has read the source code of this program and its libraries AND
  24. he has compiled the program himself with a troyan-free compiler.  WE DO NOT
  25. GUARANTEE THAT THIS PROGRAM IS A DECENT ENCRYPTION PROGRAM.
  26.  
  27.  
  28.                 Description
  29.                 -----------
  30.  
  31.     xpkFEAL is an XPK encryption sublibrary which implements the FEAL-N data
  32. encryption algorithm in CBC1 mode.  FEAL-N has been developed at the NTT
  33. Communications and Informnation Processing Labs. in 1988.
  34.  
  35.     FEAL-N is a blockchifre, which encryptes a datablock of 64Bit to a 64Bit
  36. codeblock using a 64Bit external key.  FEAL mainly consists of a loop which
  37. is taken N times.  The loopbody encodes half of the data using a 16Bit
  38. internal key and swaps the encoded half with the other one.  The 64Bit
  39. external key is expanded to N * 16Bit internal keys.
  40.  
  41.     FEAL was designed to be a replacement of DES.  DES can be easy made fast
  42. using special purpose hardware, but is a pain to be implemented in software
  43. using conventional hardware.  Since FEAL only uses 8Bit add, rol and eor
  44. operations, it is designed to be implemented in software.  
  45.  
  46.     (Btw.: FEAL is one of the few algorithms which is easier to implement
  47. using the 80x86 processorarchitecture than the 680x0 because of the 80x86s
  48. splitable registers.)
  49.  
  50.  
  51.                Speed and Memoryusage
  52.                ---------------------
  53.  
  54.           Rounds   Memory   En-/Decryptioncryption
  55.                Usage            Speed
  56.           ------   ------   ----------------------
  57.                4       1K           190 K/sec
  58.                8       1K           144 K/sec
  59.               16       1K            96 K/sec
  60.               32       1K            58 K/sec
  61.               64       1K            33 K/sec
  62.                       
  63.  
  64.                    Safety
  65.                    ------
  66.  
  67.     Rounds    Safety (? ;-)
  68.     ------    -------------
  69.      4    unsafe, broken (Murphy 1990)
  70.  
  71.      8    unbreakable for ``normal'' people
  72.  
  73.     16    good Cryptoanalysists can decypher this with less
  74.      (default)    then testing all possible keys.
  75.  
  76.     32    There is no known better method of breaking this
  77.         than testing all 2^64 possible keys.
  78.  
  79.     64    Only paranoids will use this.
  80.         ( But real paranoiac don't use FEAL )
  81.  
  82.  
  83.                   History of FEAL
  84.                   ---------------
  85.  
  86.   1985    first proposal to ISO ( FEAL-1, FEAL-1', FEAL-2 )
  87.   1987    FEAL-4 presented on Eurocrypt.
  88.   1987    attack on FEAL-4 by B. den Boer. ( Crypto 1987 )
  89.     => doubled the number of rounds: FEAL-8
  90.   1988    FEAL-N proposed (N even >=4)
  91.   1988  FEAL-NX proposed (N even >=4)
  92.         different method to calculate partial keys
  93.     => 128Bit key instead of 64Bit
  94.  
  95.  
  96.                  published attacks
  97.                  -----------------
  98.  
  99.  o B. den Boer (1987: FEAL-4; 100-10000 choosen plaintexts)
  100.  o Murphy (1990: FEAL-4; 4 choosen plaintext)
  101.  o Gilbert Chasse (1990: FEAL-8; statistically)
  102.  o Bilham, Shamir (1990: FEAL-4. FEAL-8, FEAL-N, FEAL-NX)
  103.    differencial Cryptoanalysis:
  104.    => for up to 31 rounds better than testing all keys.
  105.  o Gilbert (1991: FEAL-4, FEAL-6; 20000 knowm plaintexts)
  106.  
  107.  
  108.              published versions of FEAL
  109.              --------------------------
  110.  
  111.   name     rounds       key   internal key
  112.   ----     ------       ---   ------------
  113.   FEAL-1    4     64    4*16+2*32
  114.  
  115.   FEAL-2    6    128    6*16+2*32
  116.  
  117.   FEAL-1'
  118.   FEAL-1.00    4     64    4*16+2*64
  119.   FEAL-4
  120.  
  121.   FEAL-2.00
  122.   FEAL-8    8     64    8*16+2*64
  123.  
  124.   FEAL-N    N     64    N*16+2*64
  125.  
  126.   FEAL-NX    N    128    N*16+2*64
  127.  
  128.  
  129.              Version History of xpkFEAL
  130.              --------------------------
  131.  
  132.     1.0     First public release.
  133.  
  134.  
  135.                 Future Plans
  136.                 ------------
  137.  
  138.     Support the other 3 standard modes. (ECB, CFB and OFB)
  139.     Improve the speed.
  140.     Implement a frame xpk???? which other encryptions easily can fill.
  141.     Maybe write other encryptionlibraries.  IDEA, DES, ...
  142.  
  143.  
  144.                   Contact Address
  145.                   ---------------
  146.  
  147.     Christian von Roques            Christian von Roques
  148.     Forststrasse 71        or        Kastanienweg 4
  149.     W-7500Karlsruhe 1                W-7230 Schramberg
  150.     GERMANY                    GERMANY
  151.  
  152.     roques@karlsruhe.gmd.de
  153.  
  154.  
  155.     +----------------------------------------------------------+
  156.     |  Questions regarding FEAL-N can be referred to:          |
  157.     |    Mr. Shoji  Miyaguchi                                  |
  158.     |    Communications and Information Processing Labs., NTT  |
  159.     |    1-2356, Take, Yokosuka-shi, 238-03, JAPAN             |
  160.     +----------------------------------------------------------+
  161.